In cryptosystems and other cryptography applications, the strength of security is related to the quality of the cryptographic keys. Random number generators can generate streams of random bits, which can be used for cryptographic keys. The best cryptographic keys are a sequence of completely random bits, which are independent and identically distributed (IID), meaning that each bit value has an equal probability of occurring and all values are mutually independent. Despite the fact that many incidents of security compromise are due to human nature, it is paramount that cryptographic keys are of the highest quality to deter any attempt of security beach from the lowest level, the level on which all security of a cryptosystem relies. The entropy source which generates the random bits for cryptographic keys must, therefore, be of the highest quality and capable of producing full entropy bits.
A potential security concern in cryptosystems and other cryptography applications is when the cryptographic keys are not truly random. In one example, a deterministic random bit generator (DRBG) can produce a pseudo-random sequence of bits using a mathematical algorithm and secret initial seed value. For example, secure shell key generation (ssh-keygen) uses pseudo-random bits generated out of a deterministic algorithm as keys for communications. The risk is that a pseudo-random sequence can be reproduced again given exactly the same initial conditions. Therefore, improved random number generators are highly desirable.